package com.cs.framework.common.util;

import com.cs.framework.core.util.CoreConstant;

/**
 * 字符串工具类
 * 
 * @author hedongzhou
 * 
 */
public class StringUtils extends org.apache.commons.lang.StringUtils {

	/**
	 * 多个字符串与比较值进行比较，如果存在一个值相等的，返回true
	 * 
	 * @param compare
	 *            比较值
	 * @param strs
	 * @return
	 */
	public static boolean equalOne(String compare, String... strs) {
		for (String str : strs) {
			if (compare.equals(str)) {
				return true;
			}
		}

		return false;
	}

	/**
	 * 多个字符串与比较值进行比较，如果存在一个值相等的，返回true
	 * 
	 * @param compare
	 *            比较值
	 * @param strs
	 * @return
	 */
	public static boolean equalOne(char compare, String... strs) {
		String c = String.valueOf(compare);

		for (String str : strs) {
			if (c.equals(str)) {
				return true;
			}
		}

		return false;
	}

	/**
	 * 去掉头尾空格，如果为null，则返回空字符串
	 * 
	 * @param str
	 * @return
	 */
	public static String trim(String str) {
		return trimToEmpty(str);
	}

	/**
	 * 把多个配置路径合并成一个字符串
	 * 
	 * @param pathPatterns
	 *            资源路径数组
	 * @return 如果资源路径都是空，则返回空字符串
	 */
	public static String concatConfigPath(String... pathPatterns) {
		StringBuffer sb = new StringBuffer();

		for (String pathPattern : pathPatterns) {
			String newPath = trim(pathPattern);

			if (isNotBlank(newPath)) {
				sb.append(newPath).append(CoreConstant.CONF_SEPARATE);
			}
		}

		// 去掉最后的分隔符
		sb.deleteCharAt(sb.length() - 1);

		return sb.toString();
	}

}
